package com.wenwu.common.bean;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class RelicsBasicExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public RelicsBasicExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andBasicIdIsNull() {
            addCriterion("basic_id is null");
            return (Criteria) this;
        }

        public Criteria andBasicIdIsNotNull() {
            addCriterion("basic_id is not null");
            return (Criteria) this;
        }

        public Criteria andBasicIdEqualTo(Integer value) {
            addCriterion("basic_id =", value, "basicId");
            return (Criteria) this;
        }

        public Criteria andBasicIdNotEqualTo(Integer value) {
            addCriterion("basic_id <>", value, "basicId");
            return (Criteria) this;
        }

        public Criteria andBasicIdGreaterThan(Integer value) {
            addCriterion("basic_id >", value, "basicId");
            return (Criteria) this;
        }

        public Criteria andBasicIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("basic_id >=", value, "basicId");
            return (Criteria) this;
        }

        public Criteria andBasicIdLessThan(Integer value) {
            addCriterion("basic_id <", value, "basicId");
            return (Criteria) this;
        }

        public Criteria andBasicIdLessThanOrEqualTo(Integer value) {
            addCriterion("basic_id <=", value, "basicId");
            return (Criteria) this;
        }

        public Criteria andBasicIdIn(List<Integer> values) {
            addCriterion("basic_id in", values, "basicId");
            return (Criteria) this;
        }

        public Criteria andBasicIdNotIn(List<Integer> values) {
            addCriterion("basic_id not in", values, "basicId");
            return (Criteria) this;
        }

        public Criteria andBasicIdBetween(Integer value1, Integer value2) {
            addCriterion("basic_id between", value1, value2, "basicId");
            return (Criteria) this;
        }

        public Criteria andBasicIdNotBetween(Integer value1, Integer value2) {
            addCriterion("basic_id not between", value1, value2, "basicId");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeIsNull() {
            addCriterion("relics_code_type is null");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeIsNotNull() {
            addCriterion("relics_code_type is not null");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeEqualTo(String value) {
            addCriterion("relics_code_type =", value, "relicsCodeType");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeNotEqualTo(String value) {
            addCriterion("relics_code_type <>", value, "relicsCodeType");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeGreaterThan(String value) {
            addCriterion("relics_code_type >", value, "relicsCodeType");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeGreaterThanOrEqualTo(String value) {
            addCriterion("relics_code_type >=", value, "relicsCodeType");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeLessThan(String value) {
            addCriterion("relics_code_type <", value, "relicsCodeType");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeLessThanOrEqualTo(String value) {
            addCriterion("relics_code_type <=", value, "relicsCodeType");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeLike(String value) {
            addCriterion("relics_code_type like", value, "relicsCodeType");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeNotLike(String value) {
            addCriterion("relics_code_type not like", value, "relicsCodeType");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeIn(List<String> values) {
            addCriterion("relics_code_type in", values, "relicsCodeType");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeNotIn(List<String> values) {
            addCriterion("relics_code_type not in", values, "relicsCodeType");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeBetween(String value1, String value2) {
            addCriterion("relics_code_type between", value1, value2, "relicsCodeType");
            return (Criteria) this;
        }

        public Criteria andRelicsCodeTypeNotBetween(String value1, String value2) {
            addCriterion("relics_code_type not between", value1, value2, "relicsCodeType");
            return (Criteria) this;
        }

        public Criteria andUseridIsNull() {
            addCriterion("userid is null");
            return (Criteria) this;
        }

        public Criteria andUseridIsNotNull() {
            addCriterion("userid is not null");
            return (Criteria) this;
        }

        public Criteria andUseridEqualTo(String value) {
            addCriterion("userid =", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotEqualTo(String value) {
            addCriterion("userid <>", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThan(String value) {
            addCriterion("userid >", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThanOrEqualTo(String value) {
            addCriterion("userid >=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThan(String value) {
            addCriterion("userid <", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThanOrEqualTo(String value) {
            addCriterion("userid <=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLike(String value) {
            addCriterion("userid like", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotLike(String value) {
            addCriterion("userid not like", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridIn(List<String> values) {
            addCriterion("userid in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotIn(List<String> values) {
            addCriterion("userid not in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridBetween(String value1, String value2) {
            addCriterion("userid between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotBetween(String value1, String value2) {
            addCriterion("userid not between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andOldnameIsNull() {
            addCriterion("oldname is null");
            return (Criteria) this;
        }

        public Criteria andOldnameIsNotNull() {
            addCriterion("oldname is not null");
            return (Criteria) this;
        }

        public Criteria andOldnameEqualTo(String value) {
            addCriterion("oldname =", value, "oldname");
            return (Criteria) this;
        }

        public Criteria andOldnameNotEqualTo(String value) {
            addCriterion("oldname <>", value, "oldname");
            return (Criteria) this;
        }

        public Criteria andOldnameGreaterThan(String value) {
            addCriterion("oldname >", value, "oldname");
            return (Criteria) this;
        }

        public Criteria andOldnameGreaterThanOrEqualTo(String value) {
            addCriterion("oldname >=", value, "oldname");
            return (Criteria) this;
        }

        public Criteria andOldnameLessThan(String value) {
            addCriterion("oldname <", value, "oldname");
            return (Criteria) this;
        }

        public Criteria andOldnameLessThanOrEqualTo(String value) {
            addCriterion("oldname <=", value, "oldname");
            return (Criteria) this;
        }

        public Criteria andOldnameLike(String value) {
            addCriterion("oldname like", value, "oldname");
            return (Criteria) this;
        }

        public Criteria andOldnameNotLike(String value) {
            addCriterion("oldname not like", value, "oldname");
            return (Criteria) this;
        }

        public Criteria andOldnameIn(List<String> values) {
            addCriterion("oldname in", values, "oldname");
            return (Criteria) this;
        }

        public Criteria andOldnameNotIn(List<String> values) {
            addCriterion("oldname not in", values, "oldname");
            return (Criteria) this;
        }

        public Criteria andOldnameBetween(String value1, String value2) {
            addCriterion("oldname between", value1, value2, "oldname");
            return (Criteria) this;
        }

        public Criteria andOldnameNotBetween(String value1, String value2) {
            addCriterion("oldname not between", value1, value2, "oldname");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andCommonNamesIsNull() {
            addCriterion("common_names is null");
            return (Criteria) this;
        }

        public Criteria andCommonNamesIsNotNull() {
            addCriterion("common_names is not null");
            return (Criteria) this;
        }

        public Criteria andCommonNamesEqualTo(String value) {
            addCriterion("common_names =", value, "commonNames");
            return (Criteria) this;
        }

        public Criteria andCommonNamesNotEqualTo(String value) {
            addCriterion("common_names <>", value, "commonNames");
            return (Criteria) this;
        }

        public Criteria andCommonNamesGreaterThan(String value) {
            addCriterion("common_names >", value, "commonNames");
            return (Criteria) this;
        }

        public Criteria andCommonNamesGreaterThanOrEqualTo(String value) {
            addCriterion("common_names >=", value, "commonNames");
            return (Criteria) this;
        }

        public Criteria andCommonNamesLessThan(String value) {
            addCriterion("common_names <", value, "commonNames");
            return (Criteria) this;
        }

        public Criteria andCommonNamesLessThanOrEqualTo(String value) {
            addCriterion("common_names <=", value, "commonNames");
            return (Criteria) this;
        }

        public Criteria andCommonNamesLike(String value) {
            addCriterion("common_names like", value, "commonNames");
            return (Criteria) this;
        }

        public Criteria andCommonNamesNotLike(String value) {
            addCriterion("common_names not like", value, "commonNames");
            return (Criteria) this;
        }

        public Criteria andCommonNamesIn(List<String> values) {
            addCriterion("common_names in", values, "commonNames");
            return (Criteria) this;
        }

        public Criteria andCommonNamesNotIn(List<String> values) {
            addCriterion("common_names not in", values, "commonNames");
            return (Criteria) this;
        }

        public Criteria andCommonNamesBetween(String value1, String value2) {
            addCriterion("common_names between", value1, value2, "commonNames");
            return (Criteria) this;
        }

        public Criteria andCommonNamesNotBetween(String value1, String value2) {
            addCriterion("common_names not between", value1, value2, "commonNames");
            return (Criteria) this;
        }

        public Criteria andYearTypeIsNull() {
            addCriterion("year_type is null");
            return (Criteria) this;
        }

        public Criteria andYearTypeIsNotNull() {
            addCriterion("year_type is not null");
            return (Criteria) this;
        }

        public Criteria andYearTypeEqualTo(String value) {
            addCriterion("year_type =", value, "yearType");
            return (Criteria) this;
        }

        public Criteria andYearTypeNotEqualTo(String value) {
            addCriterion("year_type <>", value, "yearType");
            return (Criteria) this;
        }

        public Criteria andYearTypeGreaterThan(String value) {
            addCriterion("year_type >", value, "yearType");
            return (Criteria) this;
        }

        public Criteria andYearTypeGreaterThanOrEqualTo(String value) {
            addCriterion("year_type >=", value, "yearType");
            return (Criteria) this;
        }

        public Criteria andYearTypeLessThan(String value) {
            addCriterion("year_type <", value, "yearType");
            return (Criteria) this;
        }

        public Criteria andYearTypeLessThanOrEqualTo(String value) {
            addCriterion("year_type <=", value, "yearType");
            return (Criteria) this;
        }

        public Criteria andYearTypeLike(String value) {
            addCriterion("year_type like", value, "yearType");
            return (Criteria) this;
        }

        public Criteria andYearTypeNotLike(String value) {
            addCriterion("year_type not like", value, "yearType");
            return (Criteria) this;
        }

        public Criteria andYearTypeIn(List<String> values) {
            addCriterion("year_type in", values, "yearType");
            return (Criteria) this;
        }

        public Criteria andYearTypeNotIn(List<String> values) {
            addCriterion("year_type not in", values, "yearType");
            return (Criteria) this;
        }

        public Criteria andYearTypeBetween(String value1, String value2) {
            addCriterion("year_type between", value1, value2, "yearType");
            return (Criteria) this;
        }

        public Criteria andYearTypeNotBetween(String value1, String value2) {
            addCriterion("year_type not between", value1, value2, "yearType");
            return (Criteria) this;
        }

        public Criteria andGeologyYearIsNull() {
            addCriterion("geology_year is null");
            return (Criteria) this;
        }

        public Criteria andGeologyYearIsNotNull() {
            addCriterion("geology_year is not null");
            return (Criteria) this;
        }

        public Criteria andGeologyYearEqualTo(String value) {
            addCriterion("geology_year =", value, "geologyYear");
            return (Criteria) this;
        }

        public Criteria andGeologyYearNotEqualTo(String value) {
            addCriterion("geology_year <>", value, "geologyYear");
            return (Criteria) this;
        }

        public Criteria andGeologyYearGreaterThan(String value) {
            addCriterion("geology_year >", value, "geologyYear");
            return (Criteria) this;
        }

        public Criteria andGeologyYearGreaterThanOrEqualTo(String value) {
            addCriterion("geology_year >=", value, "geologyYear");
            return (Criteria) this;
        }

        public Criteria andGeologyYearLessThan(String value) {
            addCriterion("geology_year <", value, "geologyYear");
            return (Criteria) this;
        }

        public Criteria andGeologyYearLessThanOrEqualTo(String value) {
            addCriterion("geology_year <=", value, "geologyYear");
            return (Criteria) this;
        }

        public Criteria andGeologyYearLike(String value) {
            addCriterion("geology_year like", value, "geologyYear");
            return (Criteria) this;
        }

        public Criteria andGeologyYearNotLike(String value) {
            addCriterion("geology_year not like", value, "geologyYear");
            return (Criteria) this;
        }

        public Criteria andGeologyYearIn(List<String> values) {
            addCriterion("geology_year in", values, "geologyYear");
            return (Criteria) this;
        }

        public Criteria andGeologyYearNotIn(List<String> values) {
            addCriterion("geology_year not in", values, "geologyYear");
            return (Criteria) this;
        }

        public Criteria andGeologyYearBetween(String value1, String value2) {
            addCriterion("geology_year between", value1, value2, "geologyYear");
            return (Criteria) this;
        }

        public Criteria andGeologyYearNotBetween(String value1, String value2) {
            addCriterion("geology_year not between", value1, value2, "geologyYear");
            return (Criteria) this;
        }

        public Criteria andRelicsYearIsNull() {
            addCriterion("relics_year is null");
            return (Criteria) this;
        }

        public Criteria andRelicsYearIsNotNull() {
            addCriterion("relics_year is not null");
            return (Criteria) this;
        }

        public Criteria andRelicsYearEqualTo(String value) {
            addCriterion("relics_year =", value, "relicsYear");
            return (Criteria) this;
        }

        public Criteria andRelicsYearNotEqualTo(String value) {
            addCriterion("relics_year <>", value, "relicsYear");
            return (Criteria) this;
        }

        public Criteria andRelicsYearGreaterThan(String value) {
            addCriterion("relics_year >", value, "relicsYear");
            return (Criteria) this;
        }

        public Criteria andRelicsYearGreaterThanOrEqualTo(String value) {
            addCriterion("relics_year >=", value, "relicsYear");
            return (Criteria) this;
        }

        public Criteria andRelicsYearLessThan(String value) {
            addCriterion("relics_year <", value, "relicsYear");
            return (Criteria) this;
        }

        public Criteria andRelicsYearLessThanOrEqualTo(String value) {
            addCriterion("relics_year <=", value, "relicsYear");
            return (Criteria) this;
        }

        public Criteria andRelicsYearLike(String value) {
            addCriterion("relics_year like", value, "relicsYear");
            return (Criteria) this;
        }

        public Criteria andRelicsYearNotLike(String value) {
            addCriterion("relics_year not like", value, "relicsYear");
            return (Criteria) this;
        }

        public Criteria andRelicsYearIn(List<String> values) {
            addCriterion("relics_year in", values, "relicsYear");
            return (Criteria) this;
        }

        public Criteria andRelicsYearNotIn(List<String> values) {
            addCriterion("relics_year not in", values, "relicsYear");
            return (Criteria) this;
        }

        public Criteria andRelicsYearBetween(String value1, String value2) {
            addCriterion("relics_year between", value1, value2, "relicsYear");
            return (Criteria) this;
        }

        public Criteria andRelicsYearNotBetween(String value1, String value2) {
            addCriterion("relics_year not between", value1, value2, "relicsYear");
            return (Criteria) this;
        }

        public Criteria andHistoryYearIsNull() {
            addCriterion("history_year is null");
            return (Criteria) this;
        }

        public Criteria andHistoryYearIsNotNull() {
            addCriterion("history_year is not null");
            return (Criteria) this;
        }

        public Criteria andHistoryYearEqualTo(String value) {
            addCriterion("history_year =", value, "historyYear");
            return (Criteria) this;
        }

        public Criteria andHistoryYearNotEqualTo(String value) {
            addCriterion("history_year <>", value, "historyYear");
            return (Criteria) this;
        }

        public Criteria andHistoryYearGreaterThan(String value) {
            addCriterion("history_year >", value, "historyYear");
            return (Criteria) this;
        }

        public Criteria andHistoryYearGreaterThanOrEqualTo(String value) {
            addCriterion("history_year >=", value, "historyYear");
            return (Criteria) this;
        }

        public Criteria andHistoryYearLessThan(String value) {
            addCriterion("history_year <", value, "historyYear");
            return (Criteria) this;
        }

        public Criteria andHistoryYearLessThanOrEqualTo(String value) {
            addCriterion("history_year <=", value, "historyYear");
            return (Criteria) this;
        }

        public Criteria andHistoryYearLike(String value) {
            addCriterion("history_year like", value, "historyYear");
            return (Criteria) this;
        }

        public Criteria andHistoryYearNotLike(String value) {
            addCriterion("history_year not like", value, "historyYear");
            return (Criteria) this;
        }

        public Criteria andHistoryYearIn(List<String> values) {
            addCriterion("history_year in", values, "historyYear");
            return (Criteria) this;
        }

        public Criteria andHistoryYearNotIn(List<String> values) {
            addCriterion("history_year not in", values, "historyYear");
            return (Criteria) this;
        }

        public Criteria andHistoryYearBetween(String value1, String value2) {
            addCriterion("history_year between", value1, value2, "historyYear");
            return (Criteria) this;
        }

        public Criteria andHistoryYearNotBetween(String value1, String value2) {
            addCriterion("history_year not between", value1, value2, "historyYear");
            return (Criteria) this;
        }

        public Criteria andYearIsNull() {
            addCriterion("year is null");
            return (Criteria) this;
        }

        public Criteria andYearIsNotNull() {
            addCriterion("year is not null");
            return (Criteria) this;
        }

        public Criteria andYearEqualTo(String value) {
            addCriterion("year =", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotEqualTo(String value) {
            addCriterion("year <>", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearGreaterThan(String value) {
            addCriterion("year >", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearGreaterThanOrEqualTo(String value) {
            addCriterion("year >=", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLessThan(String value) {
            addCriterion("year <", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLessThanOrEqualTo(String value) {
            addCriterion("year <=", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearLike(String value) {
            addCriterion("year like", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotLike(String value) {
            addCriterion("year not like", value, "year");
            return (Criteria) this;
        }

        public Criteria andYearIn(List<String> values) {
            addCriterion("year in", values, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotIn(List<String> values) {
            addCriterion("year not in", values, "year");
            return (Criteria) this;
        }

        public Criteria andYearBetween(String value1, String value2) {
            addCriterion("year between", value1, value2, "year");
            return (Criteria) this;
        }

        public Criteria andYearNotBetween(String value1, String value2) {
            addCriterion("year not between", value1, value2, "year");
            return (Criteria) this;
        }

        public Criteria andCategoryIsNull() {
            addCriterion("category is null");
            return (Criteria) this;
        }

        public Criteria andCategoryIsNotNull() {
            addCriterion("category is not null");
            return (Criteria) this;
        }

        public Criteria andCategoryEqualTo(String value) {
            addCriterion("category =", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotEqualTo(String value) {
            addCriterion("category <>", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryGreaterThan(String value) {
            addCriterion("category >", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryGreaterThanOrEqualTo(String value) {
            addCriterion("category >=", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryLessThan(String value) {
            addCriterion("category <", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryLessThanOrEqualTo(String value) {
            addCriterion("category <=", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryLike(String value) {
            addCriterion("category like", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotLike(String value) {
            addCriterion("category not like", value, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryIn(List<String> values) {
            addCriterion("category in", values, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotIn(List<String> values) {
            addCriterion("category not in", values, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryBetween(String value1, String value2) {
            addCriterion("category between", value1, value2, "category");
            return (Criteria) this;
        }

        public Criteria andCategoryNotBetween(String value1, String value2) {
            addCriterion("category not between", value1, value2, "category");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberIsNull() {
            addCriterion("singlerelicnumber is null");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberIsNotNull() {
            addCriterion("singlerelicnumber is not null");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberEqualTo(String value) {
            addCriterion("singlerelicnumber =", value, "singlerelicnumber");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberNotEqualTo(String value) {
            addCriterion("singlerelicnumber <>", value, "singlerelicnumber");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberGreaterThan(String value) {
            addCriterion("singlerelicnumber >", value, "singlerelicnumber");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberGreaterThanOrEqualTo(String value) {
            addCriterion("singlerelicnumber >=", value, "singlerelicnumber");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberLessThan(String value) {
            addCriterion("singlerelicnumber <", value, "singlerelicnumber");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberLessThanOrEqualTo(String value) {
            addCriterion("singlerelicnumber <=", value, "singlerelicnumber");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberLike(String value) {
            addCriterion("singlerelicnumber like", value, "singlerelicnumber");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberNotLike(String value) {
            addCriterion("singlerelicnumber not like", value, "singlerelicnumber");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberIn(List<String> values) {
            addCriterion("singlerelicnumber in", values, "singlerelicnumber");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberNotIn(List<String> values) {
            addCriterion("singlerelicnumber not in", values, "singlerelicnumber");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberBetween(String value1, String value2) {
            addCriterion("singlerelicnumber between", value1, value2, "singlerelicnumber");
            return (Criteria) this;
        }

        public Criteria andSinglerelicnumberNotBetween(String value1, String value2) {
            addCriterion("singlerelicnumber not between", value1, value2, "singlerelicnumber");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaIsNull() {
            addCriterion("spread_area is null");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaIsNotNull() {
            addCriterion("spread_area is not null");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaEqualTo(String value) {
            addCriterion("spread_area =", value, "spreadArea");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaNotEqualTo(String value) {
            addCriterion("spread_area <>", value, "spreadArea");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaGreaterThan(String value) {
            addCriterion("spread_area >", value, "spreadArea");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaGreaterThanOrEqualTo(String value) {
            addCriterion("spread_area >=", value, "spreadArea");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaLessThan(String value) {
            addCriterion("spread_area <", value, "spreadArea");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaLessThanOrEqualTo(String value) {
            addCriterion("spread_area <=", value, "spreadArea");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaLike(String value) {
            addCriterion("spread_area like", value, "spreadArea");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaNotLike(String value) {
            addCriterion("spread_area not like", value, "spreadArea");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaIn(List<String> values) {
            addCriterion("spread_area in", values, "spreadArea");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaNotIn(List<String> values) {
            addCriterion("spread_area not in", values, "spreadArea");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaBetween(String value1, String value2) {
            addCriterion("spread_area between", value1, value2, "spreadArea");
            return (Criteria) this;
        }

        public Criteria andSpreadAreaNotBetween(String value1, String value2) {
            addCriterion("spread_area not between", value1, value2, "spreadArea");
            return (Criteria) this;
        }

        public Criteria andProtectareaIsNull() {
            addCriterion("protectarea is null");
            return (Criteria) this;
        }

        public Criteria andProtectareaIsNotNull() {
            addCriterion("protectarea is not null");
            return (Criteria) this;
        }

        public Criteria andProtectareaEqualTo(String value) {
            addCriterion("protectarea =", value, "protectarea");
            return (Criteria) this;
        }

        public Criteria andProtectareaNotEqualTo(String value) {
            addCriterion("protectarea <>", value, "protectarea");
            return (Criteria) this;
        }

        public Criteria andProtectareaGreaterThan(String value) {
            addCriterion("protectarea >", value, "protectarea");
            return (Criteria) this;
        }

        public Criteria andProtectareaGreaterThanOrEqualTo(String value) {
            addCriterion("protectarea >=", value, "protectarea");
            return (Criteria) this;
        }

        public Criteria andProtectareaLessThan(String value) {
            addCriterion("protectarea <", value, "protectarea");
            return (Criteria) this;
        }

        public Criteria andProtectareaLessThanOrEqualTo(String value) {
            addCriterion("protectarea <=", value, "protectarea");
            return (Criteria) this;
        }

        public Criteria andProtectareaLike(String value) {
            addCriterion("protectarea like", value, "protectarea");
            return (Criteria) this;
        }

        public Criteria andProtectareaNotLike(String value) {
            addCriterion("protectarea not like", value, "protectarea");
            return (Criteria) this;
        }

        public Criteria andProtectareaIn(List<String> values) {
            addCriterion("protectarea in", values, "protectarea");
            return (Criteria) this;
        }

        public Criteria andProtectareaNotIn(List<String> values) {
            addCriterion("protectarea not in", values, "protectarea");
            return (Criteria) this;
        }

        public Criteria andProtectareaBetween(String value1, String value2) {
            addCriterion("protectarea between", value1, value2, "protectarea");
            return (Criteria) this;
        }

        public Criteria andProtectareaNotBetween(String value1, String value2) {
            addCriterion("protectarea not between", value1, value2, "protectarea");
            return (Criteria) this;
        }

        public Criteria andBuildAreaIsNull() {
            addCriterion("build_area is null");
            return (Criteria) this;
        }

        public Criteria andBuildAreaIsNotNull() {
            addCriterion("build_area is not null");
            return (Criteria) this;
        }

        public Criteria andBuildAreaEqualTo(String value) {
            addCriterion("build_area =", value, "buildArea");
            return (Criteria) this;
        }

        public Criteria andBuildAreaNotEqualTo(String value) {
            addCriterion("build_area <>", value, "buildArea");
            return (Criteria) this;
        }

        public Criteria andBuildAreaGreaterThan(String value) {
            addCriterion("build_area >", value, "buildArea");
            return (Criteria) this;
        }

        public Criteria andBuildAreaGreaterThanOrEqualTo(String value) {
            addCriterion("build_area >=", value, "buildArea");
            return (Criteria) this;
        }

        public Criteria andBuildAreaLessThan(String value) {
            addCriterion("build_area <", value, "buildArea");
            return (Criteria) this;
        }

        public Criteria andBuildAreaLessThanOrEqualTo(String value) {
            addCriterion("build_area <=", value, "buildArea");
            return (Criteria) this;
        }

        public Criteria andBuildAreaLike(String value) {
            addCriterion("build_area like", value, "buildArea");
            return (Criteria) this;
        }

        public Criteria andBuildAreaNotLike(String value) {
            addCriterion("build_area not like", value, "buildArea");
            return (Criteria) this;
        }

        public Criteria andBuildAreaIn(List<String> values) {
            addCriterion("build_area in", values, "buildArea");
            return (Criteria) this;
        }

        public Criteria andBuildAreaNotIn(List<String> values) {
            addCriterion("build_area not in", values, "buildArea");
            return (Criteria) this;
        }

        public Criteria andBuildAreaBetween(String value1, String value2) {
            addCriterion("build_area between", value1, value2, "buildArea");
            return (Criteria) this;
        }

        public Criteria andBuildAreaNotBetween(String value1, String value2) {
            addCriterion("build_area not between", value1, value2, "buildArea");
            return (Criteria) this;
        }

        public Criteria andManageAreaIsNull() {
            addCriterion("manage_area is null");
            return (Criteria) this;
        }

        public Criteria andManageAreaIsNotNull() {
            addCriterion("manage_area is not null");
            return (Criteria) this;
        }

        public Criteria andManageAreaEqualTo(String value) {
            addCriterion("manage_area =", value, "manageArea");
            return (Criteria) this;
        }

        public Criteria andManageAreaNotEqualTo(String value) {
            addCriterion("manage_area <>", value, "manageArea");
            return (Criteria) this;
        }

        public Criteria andManageAreaGreaterThan(String value) {
            addCriterion("manage_area >", value, "manageArea");
            return (Criteria) this;
        }

        public Criteria andManageAreaGreaterThanOrEqualTo(String value) {
            addCriterion("manage_area >=", value, "manageArea");
            return (Criteria) this;
        }

        public Criteria andManageAreaLessThan(String value) {
            addCriterion("manage_area <", value, "manageArea");
            return (Criteria) this;
        }

        public Criteria andManageAreaLessThanOrEqualTo(String value) {
            addCriterion("manage_area <=", value, "manageArea");
            return (Criteria) this;
        }

        public Criteria andManageAreaLike(String value) {
            addCriterion("manage_area like", value, "manageArea");
            return (Criteria) this;
        }

        public Criteria andManageAreaNotLike(String value) {
            addCriterion("manage_area not like", value, "manageArea");
            return (Criteria) this;
        }

        public Criteria andManageAreaIn(List<String> values) {
            addCriterion("manage_area in", values, "manageArea");
            return (Criteria) this;
        }

        public Criteria andManageAreaNotIn(List<String> values) {
            addCriterion("manage_area not in", values, "manageArea");
            return (Criteria) this;
        }

        public Criteria andManageAreaBetween(String value1, String value2) {
            addCriterion("manage_area between", value1, value2, "manageArea");
            return (Criteria) this;
        }

        public Criteria andManageAreaNotBetween(String value1, String value2) {
            addCriterion("manage_area not between", value1, value2, "manageArea");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIsNull() {
            addCriterion("publish_time is null");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIsNotNull() {
            addCriterion("publish_time is not null");
            return (Criteria) this;
        }

        public Criteria andPublishTimeEqualTo(String value) {
            addCriterion("publish_time =", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotEqualTo(String value) {
            addCriterion("publish_time <>", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeGreaterThan(String value) {
            addCriterion("publish_time >", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeGreaterThanOrEqualTo(String value) {
            addCriterion("publish_time >=", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeLessThan(String value) {
            addCriterion("publish_time <", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeLessThanOrEqualTo(String value) {
            addCriterion("publish_time <=", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeLike(String value) {
            addCriterion("publish_time like", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotLike(String value) {
            addCriterion("publish_time not like", value, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeIn(List<String> values) {
            addCriterion("publish_time in", values, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotIn(List<String> values) {
            addCriterion("publish_time not in", values, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeBetween(String value1, String value2) {
            addCriterion("publish_time between", value1, value2, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishTimeNotBetween(String value1, String value2) {
            addCriterion("publish_time not between", value1, value2, "publishTime");
            return (Criteria) this;
        }

        public Criteria andPublishBatchIsNull() {
            addCriterion("publish_batch is null");
            return (Criteria) this;
        }

        public Criteria andPublishBatchIsNotNull() {
            addCriterion("publish_batch is not null");
            return (Criteria) this;
        }

        public Criteria andPublishBatchEqualTo(String value) {
            addCriterion("publish_batch =", value, "publishBatch");
            return (Criteria) this;
        }

        public Criteria andPublishBatchNotEqualTo(String value) {
            addCriterion("publish_batch <>", value, "publishBatch");
            return (Criteria) this;
        }

        public Criteria andPublishBatchGreaterThan(String value) {
            addCriterion("publish_batch >", value, "publishBatch");
            return (Criteria) this;
        }

        public Criteria andPublishBatchGreaterThanOrEqualTo(String value) {
            addCriterion("publish_batch >=", value, "publishBatch");
            return (Criteria) this;
        }

        public Criteria andPublishBatchLessThan(String value) {
            addCriterion("publish_batch <", value, "publishBatch");
            return (Criteria) this;
        }

        public Criteria andPublishBatchLessThanOrEqualTo(String value) {
            addCriterion("publish_batch <=", value, "publishBatch");
            return (Criteria) this;
        }

        public Criteria andPublishBatchLike(String value) {
            addCriterion("publish_batch like", value, "publishBatch");
            return (Criteria) this;
        }

        public Criteria andPublishBatchNotLike(String value) {
            addCriterion("publish_batch not like", value, "publishBatch");
            return (Criteria) this;
        }

        public Criteria andPublishBatchIn(List<String> values) {
            addCriterion("publish_batch in", values, "publishBatch");
            return (Criteria) this;
        }

        public Criteria andPublishBatchNotIn(List<String> values) {
            addCriterion("publish_batch not in", values, "publishBatch");
            return (Criteria) this;
        }

        public Criteria andPublishBatchBetween(String value1, String value2) {
            addCriterion("publish_batch between", value1, value2, "publishBatch");
            return (Criteria) this;
        }

        public Criteria andPublishBatchNotBetween(String value1, String value2) {
            addCriterion("publish_batch not between", value1, value2, "publishBatch");
            return (Criteria) this;
        }

        public Criteria andPublishNumberIsNull() {
            addCriterion("publish_number is null");
            return (Criteria) this;
        }

        public Criteria andPublishNumberIsNotNull() {
            addCriterion("publish_number is not null");
            return (Criteria) this;
        }

        public Criteria andPublishNumberEqualTo(String value) {
            addCriterion("publish_number =", value, "publishNumber");
            return (Criteria) this;
        }

        public Criteria andPublishNumberNotEqualTo(String value) {
            addCriterion("publish_number <>", value, "publishNumber");
            return (Criteria) this;
        }

        public Criteria andPublishNumberGreaterThan(String value) {
            addCriterion("publish_number >", value, "publishNumber");
            return (Criteria) this;
        }

        public Criteria andPublishNumberGreaterThanOrEqualTo(String value) {
            addCriterion("publish_number >=", value, "publishNumber");
            return (Criteria) this;
        }

        public Criteria andPublishNumberLessThan(String value) {
            addCriterion("publish_number <", value, "publishNumber");
            return (Criteria) this;
        }

        public Criteria andPublishNumberLessThanOrEqualTo(String value) {
            addCriterion("publish_number <=", value, "publishNumber");
            return (Criteria) this;
        }

        public Criteria andPublishNumberLike(String value) {
            addCriterion("publish_number like", value, "publishNumber");
            return (Criteria) this;
        }

        public Criteria andPublishNumberNotLike(String value) {
            addCriterion("publish_number not like", value, "publishNumber");
            return (Criteria) this;
        }

        public Criteria andPublishNumberIn(List<String> values) {
            addCriterion("publish_number in", values, "publishNumber");
            return (Criteria) this;
        }

        public Criteria andPublishNumberNotIn(List<String> values) {
            addCriterion("publish_number not in", values, "publishNumber");
            return (Criteria) this;
        }

        public Criteria andPublishNumberBetween(String value1, String value2) {
            addCriterion("publish_number between", value1, value2, "publishNumber");
            return (Criteria) this;
        }

        public Criteria andPublishNumberNotBetween(String value1, String value2) {
            addCriterion("publish_number not between", value1, value2, "publishNumber");
            return (Criteria) this;
        }

        public Criteria andPublishAddressIsNull() {
            addCriterion("publish_address is null");
            return (Criteria) this;
        }

        public Criteria andPublishAddressIsNotNull() {
            addCriterion("publish_address is not null");
            return (Criteria) this;
        }

        public Criteria andPublishAddressEqualTo(String value) {
            addCriterion("publish_address =", value, "publishAddress");
            return (Criteria) this;
        }

        public Criteria andPublishAddressNotEqualTo(String value) {
            addCriterion("publish_address <>", value, "publishAddress");
            return (Criteria) this;
        }

        public Criteria andPublishAddressGreaterThan(String value) {
            addCriterion("publish_address >", value, "publishAddress");
            return (Criteria) this;
        }

        public Criteria andPublishAddressGreaterThanOrEqualTo(String value) {
            addCriterion("publish_address >=", value, "publishAddress");
            return (Criteria) this;
        }

        public Criteria andPublishAddressLessThan(String value) {
            addCriterion("publish_address <", value, "publishAddress");
            return (Criteria) this;
        }

        public Criteria andPublishAddressLessThanOrEqualTo(String value) {
            addCriterion("publish_address <=", value, "publishAddress");
            return (Criteria) this;
        }

        public Criteria andPublishAddressLike(String value) {
            addCriterion("publish_address like", value, "publishAddress");
            return (Criteria) this;
        }

        public Criteria andPublishAddressNotLike(String value) {
            addCriterion("publish_address not like", value, "publishAddress");
            return (Criteria) this;
        }

        public Criteria andPublishAddressIn(List<String> values) {
            addCriterion("publish_address in", values, "publishAddress");
            return (Criteria) this;
        }

        public Criteria andPublishAddressNotIn(List<String> values) {
            addCriterion("publish_address not in", values, "publishAddress");
            return (Criteria) this;
        }

        public Criteria andPublishAddressBetween(String value1, String value2) {
            addCriterion("publish_address between", value1, value2, "publishAddress");
            return (Criteria) this;
        }

        public Criteria andPublishAddressNotBetween(String value1, String value2) {
            addCriterion("publish_address not between", value1, value2, "publishAddress");
            return (Criteria) this;
        }

        public Criteria andAddressIsNull() {
            addCriterion("address is null");
            return (Criteria) this;
        }

        public Criteria andAddressIsNotNull() {
            addCriterion("address is not null");
            return (Criteria) this;
        }

        public Criteria andAddressEqualTo(String value) {
            addCriterion("address =", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotEqualTo(String value) {
            addCriterion("address <>", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThan(String value) {
            addCriterion("address >", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThanOrEqualTo(String value) {
            addCriterion("address >=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThan(String value) {
            addCriterion("address <", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThanOrEqualTo(String value) {
            addCriterion("address <=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLike(String value) {
            addCriterion("address like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotLike(String value) {
            addCriterion("address not like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressIn(List<String> values) {
            addCriterion("address in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotIn(List<String> values) {
            addCriterion("address not in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressBetween(String value1, String value2) {
            addCriterion("address between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotBetween(String value1, String value2) {
            addCriterion("address not between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNull() {
            addCriterion("longitude is null");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNotNull() {
            addCriterion("longitude is not null");
            return (Criteria) this;
        }

        public Criteria andLongitudeEqualTo(String value) {
            addCriterion("longitude =", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotEqualTo(String value) {
            addCriterion("longitude <>", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThan(String value) {
            addCriterion("longitude >", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("longitude >=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThan(String value) {
            addCriterion("longitude <", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThanOrEqualTo(String value) {
            addCriterion("longitude <=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLike(String value) {
            addCriterion("longitude like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotLike(String value) {
            addCriterion("longitude not like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeIn(List<String> values) {
            addCriterion("longitude in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotIn(List<String> values) {
            addCriterion("longitude not in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeBetween(String value1, String value2) {
            addCriterion("longitude between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotBetween(String value1, String value2) {
            addCriterion("longitude not between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNull() {
            addCriterion("latitude is null");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNotNull() {
            addCriterion("latitude is not null");
            return (Criteria) this;
        }

        public Criteria andLatitudeEqualTo(String value) {
            addCriterion("latitude =", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotEqualTo(String value) {
            addCriterion("latitude <>", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThan(String value) {
            addCriterion("latitude >", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThanOrEqualTo(String value) {
            addCriterion("latitude >=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThan(String value) {
            addCriterion("latitude <", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThanOrEqualTo(String value) {
            addCriterion("latitude <=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLike(String value) {
            addCriterion("latitude like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotLike(String value) {
            addCriterion("latitude not like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIn(List<String> values) {
            addCriterion("latitude in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotIn(List<String> values) {
            addCriterion("latitude not in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeBetween(String value1, String value2) {
            addCriterion("latitude between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotBetween(String value1, String value2) {
            addCriterion("latitude not between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeIsNull() {
            addCriterion("altitude is null");
            return (Criteria) this;
        }

        public Criteria andAltitudeIsNotNull() {
            addCriterion("altitude is not null");
            return (Criteria) this;
        }

        public Criteria andAltitudeEqualTo(String value) {
            addCriterion("altitude =", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeNotEqualTo(String value) {
            addCriterion("altitude <>", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeGreaterThan(String value) {
            addCriterion("altitude >", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeGreaterThanOrEqualTo(String value) {
            addCriterion("altitude >=", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeLessThan(String value) {
            addCriterion("altitude <", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeLessThanOrEqualTo(String value) {
            addCriterion("altitude <=", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeLike(String value) {
            addCriterion("altitude like", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeNotLike(String value) {
            addCriterion("altitude not like", value, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeIn(List<String> values) {
            addCriterion("altitude in", values, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeNotIn(List<String> values) {
            addCriterion("altitude not in", values, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeBetween(String value1, String value2) {
            addCriterion("altitude between", value1, value2, "altitude");
            return (Criteria) this;
        }

        public Criteria andAltitudeNotBetween(String value1, String value2) {
            addCriterion("altitude not between", value1, value2, "altitude");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionIsNull() {
            addCriterion("pointdescription is null");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionIsNotNull() {
            addCriterion("pointdescription is not null");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionEqualTo(String value) {
            addCriterion("pointdescription =", value, "pointdescription");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionNotEqualTo(String value) {
            addCriterion("pointdescription <>", value, "pointdescription");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionGreaterThan(String value) {
            addCriterion("pointdescription >", value, "pointdescription");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("pointdescription >=", value, "pointdescription");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionLessThan(String value) {
            addCriterion("pointdescription <", value, "pointdescription");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionLessThanOrEqualTo(String value) {
            addCriterion("pointdescription <=", value, "pointdescription");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionLike(String value) {
            addCriterion("pointdescription like", value, "pointdescription");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionNotLike(String value) {
            addCriterion("pointdescription not like", value, "pointdescription");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionIn(List<String> values) {
            addCriterion("pointdescription in", values, "pointdescription");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionNotIn(List<String> values) {
            addCriterion("pointdescription not in", values, "pointdescription");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionBetween(String value1, String value2) {
            addCriterion("pointdescription between", value1, value2, "pointdescription");
            return (Criteria) this;
        }

        public Criteria andPointdescriptionNotBetween(String value1, String value2) {
            addCriterion("pointdescription not between", value1, value2, "pointdescription");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionIsNull() {
            addCriterion("design_function is null");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionIsNotNull() {
            addCriterion("design_function is not null");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionEqualTo(String value) {
            addCriterion("design_function =", value, "designFunction");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionNotEqualTo(String value) {
            addCriterion("design_function <>", value, "designFunction");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionGreaterThan(String value) {
            addCriterion("design_function >", value, "designFunction");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionGreaterThanOrEqualTo(String value) {
            addCriterion("design_function >=", value, "designFunction");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionLessThan(String value) {
            addCriterion("design_function <", value, "designFunction");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionLessThanOrEqualTo(String value) {
            addCriterion("design_function <=", value, "designFunction");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionLike(String value) {
            addCriterion("design_function like", value, "designFunction");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionNotLike(String value) {
            addCriterion("design_function not like", value, "designFunction");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionIn(List<String> values) {
            addCriterion("design_function in", values, "designFunction");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionNotIn(List<String> values) {
            addCriterion("design_function not in", values, "designFunction");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionBetween(String value1, String value2) {
            addCriterion("design_function between", value1, value2, "designFunction");
            return (Criteria) this;
        }

        public Criteria andDesignFunctionNotBetween(String value1, String value2) {
            addCriterion("design_function not between", value1, value2, "designFunction");
            return (Criteria) this;
        }

        public Criteria andPurposeIsNull() {
            addCriterion("purpose is null");
            return (Criteria) this;
        }

        public Criteria andPurposeIsNotNull() {
            addCriterion("purpose is not null");
            return (Criteria) this;
        }

        public Criteria andPurposeEqualTo(String value) {
            addCriterion("purpose =", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeNotEqualTo(String value) {
            addCriterion("purpose <>", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeGreaterThan(String value) {
            addCriterion("purpose >", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeGreaterThanOrEqualTo(String value) {
            addCriterion("purpose >=", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeLessThan(String value) {
            addCriterion("purpose <", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeLessThanOrEqualTo(String value) {
            addCriterion("purpose <=", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeLike(String value) {
            addCriterion("purpose like", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeNotLike(String value) {
            addCriterion("purpose not like", value, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeIn(List<String> values) {
            addCriterion("purpose in", values, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeNotIn(List<String> values) {
            addCriterion("purpose not in", values, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeBetween(String value1, String value2) {
            addCriterion("purpose between", value1, value2, "purpose");
            return (Criteria) this;
        }

        public Criteria andPurposeNotBetween(String value1, String value2) {
            addCriterion("purpose not between", value1, value2, "purpose");
            return (Criteria) this;
        }

        public Criteria andPublishOrganIsNull() {
            addCriterion("publish_organ is null");
            return (Criteria) this;
        }

        public Criteria andPublishOrganIsNotNull() {
            addCriterion("publish_organ is not null");
            return (Criteria) this;
        }

        public Criteria andPublishOrganEqualTo(String value) {
            addCriterion("publish_organ =", value, "publishOrgan");
            return (Criteria) this;
        }

        public Criteria andPublishOrganNotEqualTo(String value) {
            addCriterion("publish_organ <>", value, "publishOrgan");
            return (Criteria) this;
        }

        public Criteria andPublishOrganGreaterThan(String value) {
            addCriterion("publish_organ >", value, "publishOrgan");
            return (Criteria) this;
        }

        public Criteria andPublishOrganGreaterThanOrEqualTo(String value) {
            addCriterion("publish_organ >=", value, "publishOrgan");
            return (Criteria) this;
        }

        public Criteria andPublishOrganLessThan(String value) {
            addCriterion("publish_organ <", value, "publishOrgan");
            return (Criteria) this;
        }

        public Criteria andPublishOrganLessThanOrEqualTo(String value) {
            addCriterion("publish_organ <=", value, "publishOrgan");
            return (Criteria) this;
        }

        public Criteria andPublishOrganLike(String value) {
            addCriterion("publish_organ like", value, "publishOrgan");
            return (Criteria) this;
        }

        public Criteria andPublishOrganNotLike(String value) {
            addCriterion("publish_organ not like", value, "publishOrgan");
            return (Criteria) this;
        }

        public Criteria andPublishOrganIn(List<String> values) {
            addCriterion("publish_organ in", values, "publishOrgan");
            return (Criteria) this;
        }

        public Criteria andPublishOrganNotIn(List<String> values) {
            addCriterion("publish_organ not in", values, "publishOrgan");
            return (Criteria) this;
        }

        public Criteria andPublishOrganBetween(String value1, String value2) {
            addCriterion("publish_organ between", value1, value2, "publishOrgan");
            return (Criteria) this;
        }

        public Criteria andPublishOrganNotBetween(String value1, String value2) {
            addCriterion("publish_organ not between", value1, value2, "publishOrgan");
            return (Criteria) this;
        }

        public Criteria andPublishDateIsNull() {
            addCriterion("publish_date is null");
            return (Criteria) this;
        }

        public Criteria andPublishDateIsNotNull() {
            addCriterion("publish_date is not null");
            return (Criteria) this;
        }

        public Criteria andPublishDateEqualTo(Date value) {
            addCriterionForJDBCDate("publish_date =", value, "publishDate");
            return (Criteria) this;
        }

        public Criteria andPublishDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("publish_date <>", value, "publishDate");
            return (Criteria) this;
        }

        public Criteria andPublishDateGreaterThan(Date value) {
            addCriterionForJDBCDate("publish_date >", value, "publishDate");
            return (Criteria) this;
        }

        public Criteria andPublishDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("publish_date >=", value, "publishDate");
            return (Criteria) this;
        }

        public Criteria andPublishDateLessThan(Date value) {
            addCriterionForJDBCDate("publish_date <", value, "publishDate");
            return (Criteria) this;
        }

        public Criteria andPublishDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("publish_date <=", value, "publishDate");
            return (Criteria) this;
        }

        public Criteria andPublishDateIn(List<Date> values) {
            addCriterionForJDBCDate("publish_date in", values, "publishDate");
            return (Criteria) this;
        }

        public Criteria andPublishDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("publish_date not in", values, "publishDate");
            return (Criteria) this;
        }

        public Criteria andPublishDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("publish_date between", value1, value2, "publishDate");
            return (Criteria) this;
        }

        public Criteria andPublishDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("publish_date not between", value1, value2, "publishDate");
            return (Criteria) this;
        }

        public Criteria andOwnershipIsNull() {
            addCriterion("ownership is null");
            return (Criteria) this;
        }

        public Criteria andOwnershipIsNotNull() {
            addCriterion("ownership is not null");
            return (Criteria) this;
        }

        public Criteria andOwnershipEqualTo(String value) {
            addCriterion("ownership =", value, "ownership");
            return (Criteria) this;
        }

        public Criteria andOwnershipNotEqualTo(String value) {
            addCriterion("ownership <>", value, "ownership");
            return (Criteria) this;
        }

        public Criteria andOwnershipGreaterThan(String value) {
            addCriterion("ownership >", value, "ownership");
            return (Criteria) this;
        }

        public Criteria andOwnershipGreaterThanOrEqualTo(String value) {
            addCriterion("ownership >=", value, "ownership");
            return (Criteria) this;
        }

        public Criteria andOwnershipLessThan(String value) {
            addCriterion("ownership <", value, "ownership");
            return (Criteria) this;
        }

        public Criteria andOwnershipLessThanOrEqualTo(String value) {
            addCriterion("ownership <=", value, "ownership");
            return (Criteria) this;
        }

        public Criteria andOwnershipLike(String value) {
            addCriterion("ownership like", value, "ownership");
            return (Criteria) this;
        }

        public Criteria andOwnershipNotLike(String value) {
            addCriterion("ownership not like", value, "ownership");
            return (Criteria) this;
        }

        public Criteria andOwnershipIn(List<String> values) {
            addCriterion("ownership in", values, "ownership");
            return (Criteria) this;
        }

        public Criteria andOwnershipNotIn(List<String> values) {
            addCriterion("ownership not in", values, "ownership");
            return (Criteria) this;
        }

        public Criteria andOwnershipBetween(String value1, String value2) {
            addCriterion("ownership between", value1, value2, "ownership");
            return (Criteria) this;
        }

        public Criteria andOwnershipNotBetween(String value1, String value2) {
            addCriterion("ownership not between", value1, value2, "ownership");
            return (Criteria) this;
        }

        public Criteria andBasicUserIsNull() {
            addCriterion("basic_user is null");
            return (Criteria) this;
        }

        public Criteria andBasicUserIsNotNull() {
            addCriterion("basic_user is not null");
            return (Criteria) this;
        }

        public Criteria andBasicUserEqualTo(String value) {
            addCriterion("basic_user =", value, "basicUser");
            return (Criteria) this;
        }

        public Criteria andBasicUserNotEqualTo(String value) {
            addCriterion("basic_user <>", value, "basicUser");
            return (Criteria) this;
        }

        public Criteria andBasicUserGreaterThan(String value) {
            addCriterion("basic_user >", value, "basicUser");
            return (Criteria) this;
        }

        public Criteria andBasicUserGreaterThanOrEqualTo(String value) {
            addCriterion("basic_user >=", value, "basicUser");
            return (Criteria) this;
        }

        public Criteria andBasicUserLessThan(String value) {
            addCriterion("basic_user <", value, "basicUser");
            return (Criteria) this;
        }

        public Criteria andBasicUserLessThanOrEqualTo(String value) {
            addCriterion("basic_user <=", value, "basicUser");
            return (Criteria) this;
        }

        public Criteria andBasicUserLike(String value) {
            addCriterion("basic_user like", value, "basicUser");
            return (Criteria) this;
        }

        public Criteria andBasicUserNotLike(String value) {
            addCriterion("basic_user not like", value, "basicUser");
            return (Criteria) this;
        }

        public Criteria andBasicUserIn(List<String> values) {
            addCriterion("basic_user in", values, "basicUser");
            return (Criteria) this;
        }

        public Criteria andBasicUserNotIn(List<String> values) {
            addCriterion("basic_user not in", values, "basicUser");
            return (Criteria) this;
        }

        public Criteria andBasicUserBetween(String value1, String value2) {
            addCriterion("basic_user between", value1, value2, "basicUser");
            return (Criteria) this;
        }

        public Criteria andBasicUserNotBetween(String value1, String value2) {
            addCriterion("basic_user not between", value1, value2, "basicUser");
            return (Criteria) this;
        }

        public Criteria andBuildSituationIsNull() {
            addCriterion("build_situation is null");
            return (Criteria) this;
        }

        public Criteria andBuildSituationIsNotNull() {
            addCriterion("build_situation is not null");
            return (Criteria) this;
        }

        public Criteria andBuildSituationEqualTo(String value) {
            addCriterion("build_situation =", value, "buildSituation");
            return (Criteria) this;
        }

        public Criteria andBuildSituationNotEqualTo(String value) {
            addCriterion("build_situation <>", value, "buildSituation");
            return (Criteria) this;
        }

        public Criteria andBuildSituationGreaterThan(String value) {
            addCriterion("build_situation >", value, "buildSituation");
            return (Criteria) this;
        }

        public Criteria andBuildSituationGreaterThanOrEqualTo(String value) {
            addCriterion("build_situation >=", value, "buildSituation");
            return (Criteria) this;
        }

        public Criteria andBuildSituationLessThan(String value) {
            addCriterion("build_situation <", value, "buildSituation");
            return (Criteria) this;
        }

        public Criteria andBuildSituationLessThanOrEqualTo(String value) {
            addCriterion("build_situation <=", value, "buildSituation");
            return (Criteria) this;
        }

        public Criteria andBuildSituationLike(String value) {
            addCriterion("build_situation like", value, "buildSituation");
            return (Criteria) this;
        }

        public Criteria andBuildSituationNotLike(String value) {
            addCriterion("build_situation not like", value, "buildSituation");
            return (Criteria) this;
        }

        public Criteria andBuildSituationIn(List<String> values) {
            addCriterion("build_situation in", values, "buildSituation");
            return (Criteria) this;
        }

        public Criteria andBuildSituationNotIn(List<String> values) {
            addCriterion("build_situation not in", values, "buildSituation");
            return (Criteria) this;
        }

        public Criteria andBuildSituationBetween(String value1, String value2) {
            addCriterion("build_situation between", value1, value2, "buildSituation");
            return (Criteria) this;
        }

        public Criteria andBuildSituationNotBetween(String value1, String value2) {
            addCriterion("build_situation not between", value1, value2, "buildSituation");
            return (Criteria) this;
        }

        public Criteria andManageOrganIdIsNull() {
            addCriterion("manage_organ_id is null");
            return (Criteria) this;
        }

        public Criteria andManageOrganIdIsNotNull() {
            addCriterion("manage_organ_id is not null");
            return (Criteria) this;
        }

        public Criteria andManageOrganIdEqualTo(Integer value) {
            addCriterion("manage_organ_id =", value, "manageOrganId");
            return (Criteria) this;
        }

        public Criteria andManageOrganIdNotEqualTo(Integer value) {
            addCriterion("manage_organ_id <>", value, "manageOrganId");
            return (Criteria) this;
        }

        public Criteria andManageOrganIdGreaterThan(Integer value) {
            addCriterion("manage_organ_id >", value, "manageOrganId");
            return (Criteria) this;
        }

        public Criteria andManageOrganIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("manage_organ_id >=", value, "manageOrganId");
            return (Criteria) this;
        }

        public Criteria andManageOrganIdLessThan(Integer value) {
            addCriterion("manage_organ_id <", value, "manageOrganId");
            return (Criteria) this;
        }

        public Criteria andManageOrganIdLessThanOrEqualTo(Integer value) {
            addCriterion("manage_organ_id <=", value, "manageOrganId");
            return (Criteria) this;
        }

        public Criteria andManageOrganIdIn(List<Integer> values) {
            addCriterion("manage_organ_id in", values, "manageOrganId");
            return (Criteria) this;
        }

        public Criteria andManageOrganIdNotIn(List<Integer> values) {
            addCriterion("manage_organ_id not in", values, "manageOrganId");
            return (Criteria) this;
        }

        public Criteria andManageOrganIdBetween(Integer value1, Integer value2) {
            addCriterion("manage_organ_id between", value1, value2, "manageOrganId");
            return (Criteria) this;
        }

        public Criteria andManageOrganIdNotBetween(Integer value1, Integer value2) {
            addCriterion("manage_organ_id not between", value1, value2, "manageOrganId");
            return (Criteria) this;
        }

        public Criteria andAudioIdIsNull() {
            addCriterion("audio_id is null");
            return (Criteria) this;
        }

        public Criteria andAudioIdIsNotNull() {
            addCriterion("audio_id is not null");
            return (Criteria) this;
        }

        public Criteria andAudioIdEqualTo(String value) {
            addCriterion("audio_id =", value, "audioId");
            return (Criteria) this;
        }

        public Criteria andAudioIdNotEqualTo(String value) {
            addCriterion("audio_id <>", value, "audioId");
            return (Criteria) this;
        }

        public Criteria andAudioIdGreaterThan(String value) {
            addCriterion("audio_id >", value, "audioId");
            return (Criteria) this;
        }

        public Criteria andAudioIdGreaterThanOrEqualTo(String value) {
            addCriterion("audio_id >=", value, "audioId");
            return (Criteria) this;
        }

        public Criteria andAudioIdLessThan(String value) {
            addCriterion("audio_id <", value, "audioId");
            return (Criteria) this;
        }

        public Criteria andAudioIdLessThanOrEqualTo(String value) {
            addCriterion("audio_id <=", value, "audioId");
            return (Criteria) this;
        }

        public Criteria andAudioIdLike(String value) {
            addCriterion("audio_id like", value, "audioId");
            return (Criteria) this;
        }

        public Criteria andAudioIdNotLike(String value) {
            addCriterion("audio_id not like", value, "audioId");
            return (Criteria) this;
        }

        public Criteria andAudioIdIn(List<String> values) {
            addCriterion("audio_id in", values, "audioId");
            return (Criteria) this;
        }

        public Criteria andAudioIdNotIn(List<String> values) {
            addCriterion("audio_id not in", values, "audioId");
            return (Criteria) this;
        }

        public Criteria andAudioIdBetween(String value1, String value2) {
            addCriterion("audio_id between", value1, value2, "audioId");
            return (Criteria) this;
        }

        public Criteria andAudioIdNotBetween(String value1, String value2) {
            addCriterion("audio_id not between", value1, value2, "audioId");
            return (Criteria) this;
        }

        public Criteria andAppend1IsNull() {
            addCriterion("append1 is null");
            return (Criteria) this;
        }

        public Criteria andAppend1IsNotNull() {
            addCriterion("append1 is not null");
            return (Criteria) this;
        }

        public Criteria andAppend1EqualTo(String value) {
            addCriterion("append1 =", value, "append1");
            return (Criteria) this;
        }

        public Criteria andAppend1NotEqualTo(String value) {
            addCriterion("append1 <>", value, "append1");
            return (Criteria) this;
        }

        public Criteria andAppend1GreaterThan(String value) {
            addCriterion("append1 >", value, "append1");
            return (Criteria) this;
        }

        public Criteria andAppend1GreaterThanOrEqualTo(String value) {
            addCriterion("append1 >=", value, "append1");
            return (Criteria) this;
        }

        public Criteria andAppend1LessThan(String value) {
            addCriterion("append1 <", value, "append1");
            return (Criteria) this;
        }

        public Criteria andAppend1LessThanOrEqualTo(String value) {
            addCriterion("append1 <=", value, "append1");
            return (Criteria) this;
        }

        public Criteria andAppend1Like(String value) {
            addCriterion("append1 like", value, "append1");
            return (Criteria) this;
        }

        public Criteria andAppend1NotLike(String value) {
            addCriterion("append1 not like", value, "append1");
            return (Criteria) this;
        }

        public Criteria andAppend1In(List<String> values) {
            addCriterion("append1 in", values, "append1");
            return (Criteria) this;
        }

        public Criteria andAppend1NotIn(List<String> values) {
            addCriterion("append1 not in", values, "append1");
            return (Criteria) this;
        }

        public Criteria andAppend1Between(String value1, String value2) {
            addCriterion("append1 between", value1, value2, "append1");
            return (Criteria) this;
        }

        public Criteria andAppend1NotBetween(String value1, String value2) {
            addCriterion("append1 not between", value1, value2, "append1");
            return (Criteria) this;
        }

        public Criteria andAppend2IsNull() {
            addCriterion("append2 is null");
            return (Criteria) this;
        }

        public Criteria andAppend2IsNotNull() {
            addCriterion("append2 is not null");
            return (Criteria) this;
        }

        public Criteria andAppend2EqualTo(String value) {
            addCriterion("append2 =", value, "append2");
            return (Criteria) this;
        }

        public Criteria andAppend2NotEqualTo(String value) {
            addCriterion("append2 <>", value, "append2");
            return (Criteria) this;
        }

        public Criteria andAppend2GreaterThan(String value) {
            addCriterion("append2 >", value, "append2");
            return (Criteria) this;
        }

        public Criteria andAppend2GreaterThanOrEqualTo(String value) {
            addCriterion("append2 >=", value, "append2");
            return (Criteria) this;
        }

        public Criteria andAppend2LessThan(String value) {
            addCriterion("append2 <", value, "append2");
            return (Criteria) this;
        }

        public Criteria andAppend2LessThanOrEqualTo(String value) {
            addCriterion("append2 <=", value, "append2");
            return (Criteria) this;
        }

        public Criteria andAppend2Like(String value) {
            addCriterion("append2 like", value, "append2");
            return (Criteria) this;
        }

        public Criteria andAppend2NotLike(String value) {
            addCriterion("append2 not like", value, "append2");
            return (Criteria) this;
        }

        public Criteria andAppend2In(List<String> values) {
            addCriterion("append2 in", values, "append2");
            return (Criteria) this;
        }

        public Criteria andAppend2NotIn(List<String> values) {
            addCriterion("append2 not in", values, "append2");
            return (Criteria) this;
        }

        public Criteria andAppend2Between(String value1, String value2) {
            addCriterion("append2 between", value1, value2, "append2");
            return (Criteria) this;
        }

        public Criteria andAppend2NotBetween(String value1, String value2) {
            addCriterion("append2 not between", value1, value2, "append2");
            return (Criteria) this;
        }

        public Criteria andAppend3IsNull() {
            addCriterion("append3 is null");
            return (Criteria) this;
        }

        public Criteria andAppend3IsNotNull() {
            addCriterion("append3 is not null");
            return (Criteria) this;
        }

        public Criteria andAppend3EqualTo(String value) {
            addCriterion("append3 =", value, "append3");
            return (Criteria) this;
        }

        public Criteria andAppend3NotEqualTo(String value) {
            addCriterion("append3 <>", value, "append3");
            return (Criteria) this;
        }

        public Criteria andAppend3GreaterThan(String value) {
            addCriterion("append3 >", value, "append3");
            return (Criteria) this;
        }

        public Criteria andAppend3GreaterThanOrEqualTo(String value) {
            addCriterion("append3 >=", value, "append3");
            return (Criteria) this;
        }

        public Criteria andAppend3LessThan(String value) {
            addCriterion("append3 <", value, "append3");
            return (Criteria) this;
        }

        public Criteria andAppend3LessThanOrEqualTo(String value) {
            addCriterion("append3 <=", value, "append3");
            return (Criteria) this;
        }

        public Criteria andAppend3Like(String value) {
            addCriterion("append3 like", value, "append3");
            return (Criteria) this;
        }

        public Criteria andAppend3NotLike(String value) {
            addCriterion("append3 not like", value, "append3");
            return (Criteria) this;
        }

        public Criteria andAppend3In(List<String> values) {
            addCriterion("append3 in", values, "append3");
            return (Criteria) this;
        }

        public Criteria andAppend3NotIn(List<String> values) {
            addCriterion("append3 not in", values, "append3");
            return (Criteria) this;
        }

        public Criteria andAppend3Between(String value1, String value2) {
            addCriterion("append3 between", value1, value2, "append3");
            return (Criteria) this;
        }

        public Criteria andAppend3NotBetween(String value1, String value2) {
            addCriterion("append3 not between", value1, value2, "append3");
            return (Criteria) this;
        }

        public Criteria andAppend4IsNull() {
            addCriterion("append4 is null");
            return (Criteria) this;
        }

        public Criteria andAppend4IsNotNull() {
            addCriterion("append4 is not null");
            return (Criteria) this;
        }

        public Criteria andAppend4EqualTo(String value) {
            addCriterion("append4 =", value, "append4");
            return (Criteria) this;
        }

        public Criteria andAppend4NotEqualTo(String value) {
            addCriterion("append4 <>", value, "append4");
            return (Criteria) this;
        }

        public Criteria andAppend4GreaterThan(String value) {
            addCriterion("append4 >", value, "append4");
            return (Criteria) this;
        }

        public Criteria andAppend4GreaterThanOrEqualTo(String value) {
            addCriterion("append4 >=", value, "append4");
            return (Criteria) this;
        }

        public Criteria andAppend4LessThan(String value) {
            addCriterion("append4 <", value, "append4");
            return (Criteria) this;
        }

        public Criteria andAppend4LessThanOrEqualTo(String value) {
            addCriterion("append4 <=", value, "append4");
            return (Criteria) this;
        }

        public Criteria andAppend4Like(String value) {
            addCriterion("append4 like", value, "append4");
            return (Criteria) this;
        }

        public Criteria andAppend4NotLike(String value) {
            addCriterion("append4 not like", value, "append4");
            return (Criteria) this;
        }

        public Criteria andAppend4In(List<String> values) {
            addCriterion("append4 in", values, "append4");
            return (Criteria) this;
        }

        public Criteria andAppend4NotIn(List<String> values) {
            addCriterion("append4 not in", values, "append4");
            return (Criteria) this;
        }

        public Criteria andAppend4Between(String value1, String value2) {
            addCriterion("append4 between", value1, value2, "append4");
            return (Criteria) this;
        }

        public Criteria andAppend4NotBetween(String value1, String value2) {
            addCriterion("append4 not between", value1, value2, "append4");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}